package com.lc.pda.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 库存信息
 * </p>
 *
 * @author zww
 * @since 2023-07-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wms_inventory")
@ApiModel(value="WmsInventory对象", description="库存信息")
public class WmsInventory implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "库存ID")
    @TableId(value = "inventoryId")
    private String inventoryId;

    @ApiModelProperty(value = "部门")
    @TableField("departmentCode")
    private String departmentCode;

    @ApiModelProperty(value = "客户")
    @TableField("cussentcomCode")
    private String cussentcomCode;

    @ApiModelProperty(value = "物料编号")
    @TableField("materialCode")
    private String materialCode;

    @ApiModelProperty(value = "物料名称")
    @TableField("materialName")
    private String materialName;

    @ApiModelProperty(value = "规格")
    private String specification;

    @ApiModelProperty(value = "单位")
    @TableField("unitCode")
    private String unitCode;

    @ApiModelProperty(value = "包装")
    @TableField("packCode")
    private String packCode;

    @ApiModelProperty(value = "物料类型 0：良品 1：不良品 2：报废品")
    @TableField("storeType")
    private String storeType;

    @ApiModelProperty(value = "区域")
    @TableField("areaCode")
    private String areaCode;

    @ApiModelProperty(value = "库区")
    @TableField("zoneCode")
    private String zoneCode;

    @ApiModelProperty(value = "仓库编号")
    @TableField("warehouseCode")
    private String warehouseCode;

    @ApiModelProperty(value = "货位编号")
    @TableField("locationCode")
    private String locationCode;

    @ApiModelProperty(value = "批号")
    @TableField("lotCode")
    private String lotCode;

    @ApiModelProperty(value = "托盘号")
    @TableField("trayCode")
    private String trayCode;

    @ApiModelProperty(value = "箱码")
    @TableField("barCode")
    private String barCode;

    @ApiModelProperty(value = "库存数量")
    private BigDecimal qty;

    @ApiModelProperty(value = "分配数量")
    @TableField("distributionQty")
    private BigDecimal distributionQty;

    @ApiModelProperty(value = "冻结数量")
    @TableField("holdQty")
    private BigDecimal holdQty;

    @ApiModelProperty(value = "可用数量")
    @TableField("availableQty")
    private BigDecimal availableQty;

    @ApiModelProperty(value = "标签数量")
    @TableField("labelQty")
    private BigDecimal labelQty;

    @ApiModelProperty(value = "冻结状态")
    private Integer ishold;

    @ApiModelProperty(value = "开始时间")
    @TableField("startTime")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "结束时间")
    @TableField("endTime")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "包装")
    private Integer ispack;

    @ApiModelProperty(value = "采样标记")
    private Integer sampling;

    @ApiModelProperty(value = "生产日期")
    @TableField("productionTime")
    private LocalDateTime productionTime;

    @ApiModelProperty(value = "保质期天数")
    private Integer period;

    @ApiModelProperty(value = "报警日期")
    @TableField("warningTime")
    private LocalDateTime warningTime;

    @ApiModelProperty(value = "是否可用 0否 1是")
    @TableField("enabelMark")
    private Integer enabelMark;

    @ApiModelProperty(value = "是否删除 0否 1是")
    @TableField("deleteMark")
    private Integer deleteMark;

    @ApiModelProperty(value = "创建用户")
    @TableField("createBy")
    private String createBy;

    @ApiModelProperty(value = "创建日期")
    @TableField("createTime")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新用户")
    @TableField("updateBy")
    private String updateBy;

    @ApiModelProperty(value = "更新日期")
    @TableField("updateTime")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "备注")
    private String remark;


}
